package com.hlkj.pay.dto.order;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import java.math.BigDecimal;
import java.util.List;

import com.hlkj.pay.dto.BaseQueryDto;
import com.hlkj.pay.enums.PayOrderEnums;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * @author HlpayTeam
 * @date 2024/10/10 13:22
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class PayOrderSubsidyQueryDto extends BaseQueryDto {
	/**
	 * 平台订单号
	 */
	@Schema(description = "平台订单号")
	private String payOrderNo;
	/**
	 * 补贴金额
	 */
	@Schema(description = "补贴金额")
	private BigDecimal amount;
	/**
	 * 营销状态
	 * @see PayOrderEnums.PAY_ORDER_SUBSIDY_STATUS
	 */
	@Schema(description = "补贴状态，0=初始化 1=进行中，2=成功，3=失败`")
	private Integer subsidyStatus;
	/**
	 * 补贴完成时间
	 */
	@Schema(description = "补贴完成时间")
	private Long successTime;
	/**
	 * 商户商户号
	 */
	@Schema(description = "商户商户号")
	private String sn;
	/**
	 * 补贴失败原因
	 */
	@Schema(description = "补贴失败原因")
	private String failReason;
	/**
	 * 平台补贴单号
	 */
	@Schema(description = "平台补贴单号")
	private String outOrderNo;
	/**
	 * 机构补贴单号
	 */
	@Schema(description = "机构补贴单号")
	private String orderNo;
	/**
	 * 补贴批次号
	 */
	@Schema(description = "补贴批次号")
	private String batchNo;
	/**
	 * 补贴批次号
	 */
	@Schema(description = "补贴批次号")
	private List<String> batchNos;

	/**
	 * @see PayOrderEnums.PAY_ORDER_SUBSIDY_TYPE
	 */
	@Schema(description = "营销补贴类型 ，0或空=无营销，1=自定义金额立减，2=自定义金额补贴，3=代金券 4=满减券")
	private Integer subsidyProcessType;
	/**
	 */
	@Schema(description = "系统处理类型 ，0 渠道自动处理 1 系统处理")
	private Integer systemProcessType;

	private String mchOrderNo;

	@Schema(description = "补贴类型 0 支付 1 退款")
	private Integer payType;
	@Schema(description = "商户补贴退款单号")
	private String mchRefundOrderNo;
}
